package com.onepiece.gen.base.svc.business.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 菜单表
 * </p>
 *
 * @author tangld
 * @since 2022-12-05
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("gen_sys_menu")
public class SysMenu implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 菜单名称
     */
    @TableField("name")
    private String name;

    /**
     * 菜单类型: M:菜单 C:目录 R:根目录
     */
    @TableField("type")
    private String type;

    /**
     * 菜单父标识
     */
    @TableField("parent_id")
    private Integer parentId;

    /**
     * 菜单的跳转地址
     */
    @TableField("link")
    private String link;

    /**
     * 菜单图标值
     */
    @TableField("icon_value")
    private String iconValue;

    /**
     * 菜单优先级
     */
    @TableField("priority")
    private Integer priority;

    /**
     * 是否生效 1:生效  0:失效
     */
    @TableField("state")
    private Integer state;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    @TableField("creator")
    private String creator;

    /**
     * 修改时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 修改人
     */
    @TableField("updator")
    private String updator;

    /**
     * 路由地址
     */
    @TableField("path")
    private String path;

    /**
     * 组件路径
     */
    @TableField("component")
    private String component;

    /**
     * 路由参数
     */
    @TableField("query_param")
    private String queryParam;

    /**
     * 是否为外链（0是 1否）
     */
    @TableField("is_frame")
    private Integer isFrame;

    /**
     * 是否缓存（0缓存 1不缓存）
     */
    @TableField("is_cache")
    private Integer isCache;

    /**
     * 菜单状态（0显示 1隐藏）
     */
    @TableField("visible")
    private String visible;


}
